package tests.Modelo;

import static org.junit.Assert.*;
import static org.mockito.Mockito.mock;
import java.util.Calendar;
import modelo.OfertasRepository;
import modelo.Producto;
import modelo.Venta;
import modelo.VentasRepository;
import org.junit.Before;
import org.junit.Test;

public class VentasRepositoryTests {

	private OfertasRepository ofertasMock;

	@Before
	public void doBefore()
	{
	    ofertasMock = mock(OfertasRepository.class);
	}
	
	@Test
	public void totaldeVentasIgualACeroAlAbrirCaja() {
	
		VentasRepository ventaRepo = new VentasRepository();
		assertEquals(0, ventaRepo.calcularTotalCaja(0), 1);		
	}
	
	@Test
	public void incrementarTotalVentasAlAgregarUnaVentaTest() {
		//Creo un producto de $10.
		Producto prod = new Producto("des", 10, 1, "1", "marca");
		//Creo una venta en la caja 1 y le agrego el producto anterior.
		Venta venta = new Venta(ofertasMock, Calendar.getInstance(), 1);
		venta.addProducto(prod, 1);
		//Creo el repositorio de Ventas y le agrego la venta de $10.
		VentasRepository ventaRepo = new VentasRepository();
		ventaRepo.add(venta);
		//Entonces el total de la caja 1 debe ser $10.
		assertEquals(10,ventaRepo.calcularTotalCaja(1), 1);
		
	}
	
}
